package com.xqboss.apps.domain.user;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xqboss.apps.domain.BaseTable;
import com.xqboss.apps.enums.user.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Id;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户钱包变动记录表 sys_user_wallet_record
 * @author Trent
 * @date 2023/8/15
 */
@Data
@ApiModel
public class SysUserWalletRecord extends BaseTable {
    private static final long serialVersionUID = 1L;

    @TableId
    @Id
    private Long id;
    /**
     * 用户ID
     */
    private Long userId;
    /**
     * 钱包ID
     */
    private Long walletId;
    /**
     * 钱包类型
     */
    private UserWalletEnum walletType;
    /**
     * 变动金额
     */
    private BigDecimal amount;
    /**
     * 变动后金额
     */
    private BigDecimal amountAfter;
    /**
     * 变动前金额
     */
    private BigDecimal amountBefore;
    /**
     * 变动方向
     */
    private WalletChangeDirectionEnum direction;
    /**
     * 变动类型
     */
    private WalletChangeTypeEnum changeType;
    /**
     * 源ID
     */
    private Long sourceId;
    /**
     * 变动备注
     */
    private String remark;
    /**
     * 操作人人
     */
    private Long operateUserId;

    /**
     * 热豆赠送 接收人的id
     */
    @ApiModelProperty("热豆赠送 接收人的id 如果当前记录是赠送,热豆记录显示此id")
    private Long recipientUserId;
    /**
     * 热豆赠送 赠送人的id
     */
    @ApiModelProperty("热豆赠送 赠送人的id 如果当前记录是被增,热豆记录显示此id")
    private Long giveUserId;

}
